﻿using MinimalistFoodStreet.BackEnd.Infrastructure.Attributes;
using MinimalistFoodStreet.BackEnd.Infrastructure.Dtos.Request.Functions;
using MinimalistFoodStreet.BackEnd.Infrastructure.Dtos.Response;

namespace MinimalistFoodStreet.BackEnd.Server.IServer.Tables
{
    [ProvideClassOrInterface]
    public interface ICommentsServer
    {
        // 获取单个携带回复并且有实际内容的主评论
        Task<ResponseApiDto> GetSingleCommentAsync(int gid, int id);
        // 获取热评
        Task<ResponseApiDto> GetHotCommentsAsync(int gid, int count);
        // 获取携带回复并且有实际内容的主评论分页，并且可以过滤掉一个数据
        Task<ResponseApiDto> GetPaginationAsync(int page, int limit, int goodId, int? firstId);
        // 添加评论
        Task<ResponseApiDto> AddAsync(RequestCommentsAddDto dto, int accountId);
        // 删除评论
        Task<ResponseApiDto> DeleteAsync(RequestCommentsDeleteDto dto);
        // 获取订单详情，并根据是否评价过滤
        Task<ResponseApiDto> GetCommentPenddingPaginationAsync(int page, int limit, int isComment, int aid, int bid);
        // 获取评论数量 
        Task<ResponseApiDto> GetCommentCountAsync(int gid);
    }
}
